package com.ruoyi.qywx.service.inters;

import com.ruoyi.common.core.cache.Meta;
import com.ruoyi.qywx.entity.ExtFollowContact;
import com.ruoyi.qywx.getway.entity.QyExtContactRemark;
import com.ruoyi.qywx.model.vo.CustomerFollowerVo;

import java.util.List;

/**
 * @author : hcl
 * @Date : 2023/8/22 16:06
 */
public interface ExtFollowContactService {
    void insertFollower(ExtFollowContact follower);

    /**
     * 更新备注
     *
     * @param updateTab 是否更新数据库
     */
    boolean updateExtUserRemark(QyExtContactRemark remark, Meta meta, boolean updateTab);

    /**
     * 更新数据库备注信息
     */
    void updateFollowerRemark(QyExtContactRemark remark);

    /**
     * 员工删除客户
     */
    void deleteExternalContact(String externalUserId, String userId);

    /**
     * 客户删除员工
     */
    void deleteFollower(String externalUserID, String userID);

    /**
     * 用户是否全流失
     *
     * @return true 全部流失
     */
    boolean isAllLost(String extUserId);

    List<CustomerFollowerVo> selectFollowersByExtUserId(String extUserId);

    List<ExtFollowContact> selectFollower(String extUserId, String userId);
}
